package com.project.yunshitong.utils;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/**
 * Created by Carson_Ho on 16/11/18.
 */
public class MySQLiteOpenHelper extends SQLiteOpenHelper {


    //数据库版本号
    private static Integer Version = 8;


    //在SQLiteOpenHelper的子类当中，必须有该构造函数
    public MySQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory,
                              int version) {
        //必须通过super调用父类当中的构造函数
        super(context, name, factory, version);
    }
    //参数说明
    //context:上下文对象
    //name:数据库名称
    //param:factory
    //version:当前数据库的版本，值必须是整数并且是递增的状态

    public MySQLiteOpenHelper(Context context, String name, int version) {
        this(context, name, null, version);
    }


    public MySQLiteOpenHelper(Context context, String name) {
        this(context, name, Version);
    }

    //当数据库创建的时候被调用
    @Override
    public void onCreate(SQLiteDatabase db) {

        System.out.println("创建数据库和表");
        //创建了数据库并创建一个叫records的表
        //SQLite数据创建支持的数据类型： 整型数据，字符串类型，日期类型，二进制的数据类型
//        String sql = "create table if not exists goods(id int primary key, RFID varchar(200),GoodName varchar(200), " +
//                "GoodSku varchar(200),GoodPrice varchar(200),GoodDetail varchar(200),GoodImage varchar(200))";
//        //execSQL用于执行SQL语句
//        //完成数据库的创建
//        db.execSQL(sql);

        String sql1 = "create table if not exists goods(id INTEGER PRIMARY KEY AUTOINCREMENT, " +
                "name varchar(200),number varchar(200),fixedNumber varchar(200), state varchar(200)," +
                "deptid varchar(200),department varchar(200),oldDeptid varchar(200),oldDepartment varchar(200),time varchar(200),json text)";
        db.execSQL(sql1);
        String sql2 = "create table if not exists department(id INTEGER PRIMARY KEY AUTOINCREMENT, " +
                "name varchar(200),superior varchar(200),departId varchar(200))";
        db.execSQL(sql2);

//        String sql4 = "create table if not exists user(id int primary key, phone varchar(200),pass varchar(200),autoString varchar(200), json text)";
//        db.execSQL(sql4);
//        String index = "create index if not exists storeId on goods(storeId)";
//        String index1 = "create index if not exists classId on goods(classId)";
//        db.execSQL(index);
//        db.execSQL(index1);
//        String sql2 = "create table if not exists trees(id INTEGER PRIMARY KEY AUTOINCREMENT, " +
//                "labelNumber varchar(200),time varchar(200),status varchar(200),siteName varchar(200), json text)";
//        //execSQL用于执行SQL语句
//        //完成数据库的创建
//        db.execSQL(sql2);
//        String index2 = "create index if not exists storeId on commgoods(storeId)";
//        db.execSQL(index2);
////        String index1 = "create index index_name on commgoods(goodCode,goodNumber)";
////        db.execSQL(index1);
//        String sql1 = "create table if not exists classes(id int primary key, storeId varchar(200),classId varchar(200), className varchar(200))";
//        //execSQL用于执行SQL语句
//        //完成数据库的创建
//        db.execSQL(sql1);
//        //数据库实际上是没有被创建或者打开的，直到getWritableDatabase() 或者 getReadableDatabase() 方法中的一个被调用时才会进行创建或者打开
////        Log.e(TAG, "onCreate: 创建数据库");
//
//        String sql3 = "create table if not exists offline(id INTEGER PRIMARY KEY AUTOINCREMENT, orderNo varchar(200),time varchar(200),money varchar(200),payType varchar(200),status int, json text,bean text)";
//        db.execSQL(sql3);
//
//        String sql4 = "create table if not exists user(id int primary key, phone varchar(200),pass varchar(200),autoString varchar(200), json text)";
//        db.execSQL(sql4);

    }

    //数据库升级时调用
    //如果DATABASE_VERSION值被改为2,系统发现现有数据库版本不同,即会调用onUpgrade（）方法
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        System.out.println("更新数据库版本为:" + newVersion);
    }


}
